cropperjs 很多年中,对处理图片裁切做的体验非常棒。几个项目中,也使用过。那时候还是使用 jquery 这种传统的方式。现在想整一个使用 vue 和 element ui 组合在一起的模板。
cropperjs: https://github.com/fengyuanchen/cropperjs
photo-editor:https://github.com/fengyuanchen/photo-editor
cropperjs 很多年中,对处理图片裁切做的体验非常棒。几个项目中,也使用过。那时候还是使用 jquery 这种传统的方式。现在想整一个使用 vue 和 element ui 组合在一起的模板。
cropperjs: https://github.com/fengyuanchen/cropperjs
photo-editor:https://github.com/fengyuanchen/photo-editor
当初 flash 的 mask 可以做很多事情。 css 貌似也可以。先收留,后边再研究。
git 地址: https://github.com/hinesboy/mavonEditor
npm install mavon-editor
然后
# main.js
import mavonEditor from 'mavon-editor'
import 'mavon-editor/dist/css/index.css'
Vue.use(mavonEditor)
markdown 写技术博客的必须品。这里记录下 vue 中使用 tui-editor 的过程
代码: https://github.com/nhn/tui.editor
preview: https://ui.toast.com/tui-editor
npm install tui-editor
安装好后,先定义一个组件,我们在组件里组织 markdown 编辑器相关的逻辑。
那么就在 src/components/
下吧。
src/components/MarkdownEditor/index.vue
继续阅读
eleme ui 的 el-select 组件会自动清除数据空格,无论空格在左边,右边还是中间。某些场景下,这个让人难以接受, 怎么办了。方法是有的。
<el-select v-model="form.id" clearable placeholder="请选择">
<el-option
v-for="item in list"
:key="item.id"
:label="item.raw"
v-html="item.label"
:value="item.id">
</el-option>
</el-select>
# list 的内容
let list = [
{
id: 1,
label: ' 凤舞九天',
raw: '凤舞九天'
}
]
这样就可以了。babel 看情况需要,加上 v-html ,用 代替空格。
el-tree 蛮好使用的,就是排版的方向永远都是从上到下。同一级没办法,合向并着展示。那么,想要实现这种效果,就得自己改代码,操作了。
vue 中,el-tree 的默认节点和数据如下:
继续阅读
php artisan ui vue
yarn --no-bin-links
js/components/ 下会生一个 ExampleComponent.vue 文件。
js/app.js 中也引入了这个。
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
然后再 blade 模板中使用
继续阅读
laravel8 + bootstrap + vue-element-admin(9)修改 bootstrap 主题颜色等
先看一个漂亮的 点击看漂亮的
编辑 resources/sass/_variables.scss,增加下边的定义
// 定义主题颜色
$primary: #9c27b0 !default;
$success: #4caf50 !default;
$info: #00bcd4 !default;
$warning: #ff9800 !default;
$danger: #f44336 !default;
// 修改点击按钮的时候,按钮周围的边框,好难看,强迫症要干掉。这样会把input的边框也干掉了,不好。
$input-btn-focus-width: 0 !default;
$input-btn-focus-box-shadow: none !default;
然后,执行编译打包。
yarn run dev
打包好后,刷新登录页面,是不是发现 input框,按钮都变了呀。
主题颜色也变了,那么下一步去搞搞在 blade 中使用 vue 组件的问题。虽然大多时候不需要 vue,要不就用纯 vue 了。可偶尔某些组件用 vue 还是蛮好的。
在某些场景下,socket 是必须要使用的。vue element admin 中,自己所做的后台中,就想使用这玩意。那么,就 websocket。
websocket 的客户端创建使用是很简单,有些问题却必须要面对。
断线重连是自己手动去建立一个心跳的方式来实现。socket.io 中叫 ping pong。这里就自定义的搞一搞。数据来回,使用全局事件的方式来处理。无论哪种语言,事件这种方式从来都不会缺失。在什么时候创建连接呢,因为这里针对的是登录后的一些功能,所以最好在登录成功后只调用创建一次。我们可以在 permission.js 中引入并创建。
继续阅读
在常规情况下,去定义组件的时候,只需要用到父子组件通讯即可。这样比较好实现。有时候,也会用到任意组件间的通讯,这个时候自定义组件的方式就有用了。不弄那么多,只弄一个。
# 使用组件的地方
<sky @changeColor="changeColor" />
methods: {
changeColor(value) {
}
}
# 组件内部,仅此而已。子组件中的数据,就可以被父组件收到了
this.$emit('changeColor', 'blue')