vue+elementUI 分页多选弹窗回显,编辑回显

本文介绍了如何在Vue项目中结合ElementUI实现分页选择功能,并在弹窗中实现已选项的回显。通过创建一个可关闭的tag标签展示已选内容,详细阐述了分页多选组件的编写过程。
摘要由CSDN通过智能技术生成

实现分页多选弹窗回显功能

父级页面以可关闭tag标签形式展示已选

 

1.编写分页多选弹窗组件

<template>
  <el-dialog
    title="关联问题"
    :close-on-press-escape="false"
    :close-on-click-modal="false"
    :show-close="false"
    :visible.sync="visible"
    width="40%"
    :modal="true"
    top="20px"
    style="height:100%;overflow: hidden"
  >
    <div style=" width:auto;height:700px;overflow: auto">
     
      <el-table
        v-loading="loading"
        element-loading-text="加载数据中"
        ref="multipleTable"
        :data="questionArray"
        :row-key="getRowKeys"
        tooltip-effect="dark"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
          type="selection"
          width="55"
          :reserve-selection="true"
        >
        </el-table-column>
        <el-table-column label="">
          <template slot-scope="scope">
              <p style="font-size: 14px;">{
  {scope.row.content}}</p>
            </div>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        style="margin-top: 16px; text-align:right;"
        layout="total, prev, pager, next, jumper"
        :page-size="10"
        :total="total"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange">
      </el-pagination>
      <!--            </el-card>-->
      <!--          </el-col>-->
      <!--        </el-row>-->

    </div>
    <div style="margin-top: 20px">
      <el-button type="primary" @click="selectedQuestions">确 定</el-button>
      <el-button @click="quitSelect">取消已选</el-button>
    </div>
  </el-dialog>
</template>

<script>
    import {httpUrl} from "../router/http_url";

    export default {
        name: "AssQustionPage.vue",
        props: {
            visible: {
                type: Boolean,
                default: false
Vue+ElementUI中使用el-select组件进行单选或多选时,可以通过设置v-model来绑定选中的值,并且根据el-select组件的multiple属性来决定是单选还是多选。 单选时,v-model绑定的是一个普通变量,当用户选择一个选项时,v-model变量会被更新为选中的值。例如: ``` <el-select v-model="selectedItem"> <el-option label="选项1" value="option1"></el-option> <el-option label="选项2" value="option2"></el-option> <el-option label="选项3" value="option3"></el-option> <el-option label="选项4" value="option4"></el-option> </el-select> ``` 其中,`selectedItem`是一个普通变量,用来保存选中的值。当用户选择一个选项时,`selectedItem`变量会自动更新。 多选时,v-model绑定的是一个数组,用来保存选中的值。例如: ``` <el-select v-model="selectedItems" multiple> <el-option label="选项1" value="option1"></el-option> <el-option label="选项2" value="option2"></el-option> <el-option label="选项3" value="option3"></el-option> <el-option label="选项4" value="option4"></el-option> </el-select> ``` 其中,`selectedItems`是一个数组,用来保存选中的值。当用户选择一个或多个选项时,`selectedItems`数组会自动更新。 要回显已选中的值,只需要将v-model绑定的变量或数组初始化为已选中的值即可。例如: 单选回显: ``` <template> <el-select v-model="selectedItem"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> </template> <script> export default { data() { return { selectedItem: "option2", // 已选中的值 options: [ { label: "选项1", value: "option1" }, { label: "选项2", value: "option2" }, { label: "选项3", value: "option3" }, { label: "选项4", value: "option4" }, ], }; }, }; </script> ``` 多选回显: ``` <template> <el-select v-model="selectedItems" multiple> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> </template> <script> export default { data() { return { selectedItems: ["option2", "option4"], // 已选中的值 options: [ { label: "选项1", value: "option1" }, { label: "选项2", value: "option2" }, { label: "选项3", value: "option3" }, { label: "选项4", value: "option4" }, ], }; }, }; </script> ``` 在上面的例子中,`selectedItem`变量或`selectedItems`数组被初始化为已选中的值,因此在页面加载时,已选中的选项会被自动回显
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值