Vue.js 可拖放文本框组件

纯粹是将以前公众号发过的实例搬运到这里。html

第一弹是可拖放文本框。git

可拖放文本框容许用户经过拖动备选项至文本框来肯定输入,其实也能够说是 combobox 的一种变形。 与 combobox 相比,这种组件能让用户更加直观的看到全部备选项,而且能够是多个输入共用一组备选项。 相似的组件也曾用在 3D Windrose App,Graph Maker App 等多个 app 里。github

preview gif

注册组件


注册可拖放文本框组件(其实就是将封装好的这部分代码 Ctrl+C and Ctrl+V)。数组

<script type="text/x-template" id="drag-and-drop-text-box-template">
…
</script>
<script>
Vue.component("drag-and-drop-text-box", {
    template: "#drag-and-drop-text-box-template",
…
</script>


添加组件


直接使用自定义的标签 <drag-and-drop-text-box></drag-and-drop-text-box> 添加可拖放文本框组件。app

<drag-and-drop-text-box :columns="columns“ :input="input"></drag-and-drop-text-box>


传递数据


向组件传递数据,如对变量 columns 和 input 两组数组直接赋值等。其中变量 columns 对应于全部选项的名称与属性,input 对应于每个项目的标签和选中值。code

columns:  [
{"name":"A","longname":"Copper"},
{"name":"B","longname":"Aluminum Aluminum"},
...
],
input: [
{text: "Material A", value: null},
{text: "Material B", value: null},
...
],


源代码

Githubcomponent

相关文章
相关标签/搜索