动态读取离子切换值并发布到数据库

Posted

技术标签:

【中文标题】动态读取离子切换值并发布到数据库【英文标题】:Dynamically read ionic toggle value and post to database 【发布时间】:2019-03-14 23:23:49 【问题描述】:

我正在显示数据库中的名称列表,我需要在所有列表中都有一个切换按钮,分别对应 id 并将它们发布到数据库。 如何在 ionic 中添加切换按钮并使用 id 动态读取它的值。

stud.html

<ion-item *ngFor="let list of getStudentList"> <ion-label>list.Student_FirstName</ion-label> <ion-toggle [(ngModel)]="list.Student_FirstName" (ionChange)="changeToggle()"></ion-toggle> </ion-item>

stud.ts

`

   changeToggle() 
    console.log(this.Student_FirstName + "is checked");
  `

【问题讨论】:

【参考方案1】:

您可以使用 $http 以 Angular 方式发送请求。 对于您的情况,您需要将方法指定为“POST”并将其发送到处理数据库的 Web 服务 API (url)。由于它是 POST 方法,请不要忘记添加“数据”,以防您的 Web 服务需要此请求中的变量。

在你的 changeToggle() 函数中,你还需要检查它是否被切换然后你对你的数据库做一些事情,但是如果它没有被切换那么你就做不同的事情或者什么也不做。这取决于您的要求。

更新

试试这个:

<ion-item *ngFor="let list of getStudentList">
                <ion-label>list.Student_FirstName</ion-label>
                <ion-toggle [(ngModel)]="list.Student_FirstName" (ionChange)="changeToggle(list)"></ion-toggle>
            </ion-item>

并在您的 changeToggle() 中输入 1 个输入,即 list

changeToggle(list)
    console.log(list)

您应该看到 list 对象,其中包含其 ID。

希望这会有所帮助。

【讨论】:

我没有切换选择的 ID,我在阅读列表 ID 时感到震惊 @MadhankumarBK 我编辑了答案。请看看它是否对你有帮助。 谢谢,它可以工作,但是每当我在 list.Student_FirstName 的位置更改切换值时,它都会显示切换布尔值(选中时为 true,未选中时为 false)。 因为您使用 [(ngModel)]="list.Student_FirstName" 并且 ion-toggle 仅返回 true 或 false 的事实,所以您将看到您的变量 list.Student_FirstName 只会是 true 或 false . 您能否建议如何将这些动态列表默认设置为真(或打开)。并将这些值(名称和切换值)存储在一个数组中。【参考方案2】:

您可以轻松地将当前项目传递给ionChange 函数

<ion-toggle 
  [(ngModel)]="list.Student_FirstName" 
  (ionChange)="changeToggle(list)">
</ion-toggle>

组件

changeToggle(list)
    console.log(list.Id)

【讨论】:

以上是关于动态读取离子切换值并发布到数据库的主要内容,如果未能解决你的问题,请参考以下文章

为啥离子 v1 事件“beforeLeave”在离开视图后返回数据

在Mysql数据库中插入动态选择框值并显示数据提交消息

切换选项卡后离子段不显示数据

在离子段中获取动态数据时如何删除空列?

springboot实现读取多数据源datasource的动态切换

如何在循环中读取数据框列值并检查每列的数据类型