一个表单中有多个el-input el-input slot="append" slot="append 插槽内容绑定点击事件获取当前input的内容
时间: 2024-11-22 10:45:15 浏览: 29
在Vue.js中,如果你想在一个包含多个`el-input`的表单组件中添加自定义插槽(`slot`),并通过`slot-scope`绑定一个点击事件来获取当前输入框的内容,你可以这样做:
首先,在你的模板HTML部分,为每个`el-input`设置一个`slot="append"`,并在这个插槽里添加一些元素,比如按钮或者其他UI组件,并给它一个`v-on:click`监听器:
```html
<template>
<el-form>
<el-row v-for="(item, index) in inputs" :key="index">
<el-col>
<el-input v-model="inputs[index].value" slot="append">
<!-- 这里的button绑定了click事件 -->
<button @click="getInputContent(index)">获取内容</button>
</el-input>
</el-col>
</el-row>
</el-form>
</template>
```
然后,在你的`script`部分,定义`getInputContent`方法,它会接受输入项的索引来获取相应的值:
```javascript
<script>
export default {
data() {
return {
inputs: [
{ value: '' },
{ value: '' },
// ...更多输入项
]
};
},
methods: {
getInputContent(index) {
const inputValue = this.inputs[index].value; // 获取当前输入项的值
console.log('当前输入第', index + 1, '的内容:', inputValue);
// 根据实际需求可以对这个值做进一步处理或返回给其他组件
}
}
};
</script>
```
在这个例子中,当用户点击“获取内容”按钮时,对应输入框的内容会被打印到控制台。如果需要的话,可以根据业务场景修改`getInputContent`方法的行为。
阅读全文